Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Davis Cup, Group I, 1R, BIH-GER 0-4 Nonthaburi 2 Challenger United Cup - Australia Tenerife 2 Challenger Wimbledon - London Ostrava Challenger Internazionali BNL d'Italia - Rome Bonn Challenger Santo Domingo Challenger U.S. Open - New York Istanbul Challenger Manacor Challenger Cassis Challenger St. Tropez Challenger Hangzhou Open - Hangzhou Villena Challenger Shanghai Rolex Masters - Shanghai Olbia Challenger Almaty Open - Almaty Sibiu Challenger BNP Paribas Open - Indian Wells M15 Torello Maia Challenger Canberra Challenger Australian Open - Melbourne Savannah Challenger M25 Vic Tiriac Open - Bucharest French Open - Paris Heilbronn Challenger Wimbledon - London Plava Laguna Croatia Open - Umag U.S. Open - New York Spain F39 Spain F5 Spain F10 Croatia F8 Spain F4 Bosnia & Herzegovina F2 Spain F15 Spain F32 Israel F1 Croatia F2 Bosnia & Herzegovina F3 Turkey F2 Spain F1 Croatia F1 Spain F2 Italy F20 Spain F32 Algeria F2 Croatia F11 Croatia F1 Italy F5 Bulgaria F1 Spain F14 Russia F8 Spain F16 Spain F17 Serbia F3 Canada F5 Brazil F12 Croatia F12 Spain F9 Spain F16 Tunisia F6 Tunisia F7 Spain F17 Spain F19 Spain F21 Spain F22 Spain F23 Italy F22 Switzerland F3 Switzerland F4 Switzerland F5 Spain F28 Spain F31 Spain F32 Greece F8 Greece F9 Greece F11 Cyprus F2 Cyprus F3 Spain F1 Spain F2 Spain F3 Spain F4 Spain F5 Spain F6 Morocco F2 Morocco F3 Spain F7 Algeria F1 Spain F42 Spain F31 (Sabadell) Spain F32 (Melilla) Tunisia F31 (Hammamet) Tunisia F32 (Hammamet) Tunisia F36 (Hammamet) China F2 (Anning) China F3 (Anning) Algeria F3 Portugal F3 (Loule) Portugal F5 (Vilamoura) Portugal F6 (Lisbon) Spain F9 (Madrid) Spain F10 (Majadahonda) Canada F3 (Calgary) Canada F4 (Kelowna) Spain F8 Switzerland F3 (Sion) Tunisia F39 (Monastir) Tunisia F40 (Monastir) Tunisia F43 (Monastir) Tunisia F44 (Monastir) Spain F10 Tunisia F45 (Monastir) Croatia F12 Spain F11 Spain F14 Spain F18 M25 Antalya Spain F20 M25+H Bagneres-de-Bigorre M25 Girona Turkey F2 Spain F27 Spain F29 Spain F34 Spain F36 Spain F37 Spain F38 Spain F39 Spain F40 Spain F42 Spain F43 Spain F1 Spain F2 Spain F7 Spain F8 Spain F11 Spain F13 Spain F14 Spain F15 Spain F16 Bosnia & Herzegovina F2 Spain F17 Spain F20 Spain F23 Spain F28 Spain F32 Spain F34 Bosnia/Herzegovina F6 Croatia F6 Spain F33 Spain F35 Spain F13 Croatia F14 Spain F36 Spain F37 Croatia F2 Spain F2 Spain F3 Spain F5 Bosnia/Herzegovina F1 Portugal F3 Spain F10 Spain F11 Spain F12 Spain F13 Spain F16 Spain F17 Slovenia F2 Slovenia F3 Morocco F3 Spain F22 Spain F23 Italy F11 Spain F30 Belgium F3 Canada F4 M25 Roda de Bara Canada F5 Spain F37 Croatia F7 Spain F38 Croatia F8 Spain F39 Israel F2 Israel F3 Spain F5 Spain F6 Croatia F1 Portugal F1 Portugal F2 Spain F8 Spain F9 Spain F10 Brazil F9 Italy F6 Brazil F10 Brazil F11 Italy F7 Brazil F12 Spain F15 Bosnia & Herzegovina F2 Spain F16 Italy F1 Bosnia & Herzegovina F5 Spain F20 Serbia F1 Morocco F4 Serbia F2 Bosnia & Herzegovina F4 Serbia F3 Romania F4 Canada F3 Canada F4 Croatia F5 Serbia F7 Croatia F7 Croatia F8 Croatia F9 Spain F19 Croatia F10 Spain F35 Spain F36 Spain F37 Croatia F12 Spain F38 Croatia F13 Spain F39 Spain F41 Turkey F32 Turkey F33 Turkey F1 Turkey F3 Turkey F4 Spain F3 Spain F5 Italy F1 Italy F2 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Spain F11 Bosnia & Herzegovina F3 Spain F12 Poland F1 Bosnia & Herzegovina F5 Spain F15 Spain F18 Pozoblanco Challenger Kosice Challenger Santos Challenger Kosice Challenger Vancouver Challenger San Marino Challenger Como Challenger Trnava Challenger Lermontov Challenger M15 Torello Noumea Challenger Cherbourg Challenger Salinas Challenger Sarajevo Challenger Ostrava Challenger Kosice Challenger Vancouver Challenger Alphen Challenger Meknes Challenger Szczecin Challenger Sibiu Challenger Sao Jose Do Rio Preto Challenger Buenos Aires Challenger Casablanca Challenger Bratislava Challenger Lima Challenger Noumea Challenger Chennai Challenger New Delhi Challenger Mersin Challenger Ostrava Challenger Rome Challenger Samarkand Challenger Arad Challenger Prague Challenger Kosice Challenger Padova Challenger Braunschweig Challenger Granby Challenger Tampere Challenger M25 Glasgow Alphen Challenger Meknes Challenger Kenitra Challenger Tashkent Challenger Geneva Challenger Andria Challenger Morelos Challenger M15 Ceuta Moscow Challenger M25 Sabadell Braunschweig Challenger San Benedetto Challenger Alphen Challenger Kenitra Challenger Sibiu Challenger Mohammedia Challenger Casablanca Challenger Lima Challenger Guayaquil Challenger M25 Badalona Samarkand Challenger Blois Challenger Todi Challenger Trnava Challenger Meerbusch Challenger Meknes Challenger Rome Challenger Mohammedia Challenger Lisbon Challenger Santo Domingo Challenger Como Challenger Shanghai Challenger Gwangju Challenger Burnie Challenger Launceston Challenger Aix En Provence Challenger Bordeaux Challenger Shymkent Challenger Liberec Challenger Zhangjiagang Challenger Stockton Challenger Calgary Challenger Burnie Challenger Budapest Challenger Morelos Challenger Drummondville Challenger Ostrava Challenger Aix En Provence Challenger Lisbon Challenger Shymkent Challenger Perugia Challenger Granby Challenger Aptos Challenger M25 Sierre Vancouver Challenger New Haven Challenger Jinan Challenger Shanghai Challenger Kaohsiung Challenger Barcelona Challenger Mouilleron-Le-Captif Challenger Ningboo Challenger Liuzhou Challenger Bratislava Challenger Pune Challenger Bendigo Challenger M25 Antalya Burnie Challenger Launceston Challenger M25 Reus Monterrey Challenger Prague II Challenger Ostrava Challenger Prostejov Challenger Split Challenger Barcelona Challenger Alicante Challenger Marbella Challenger Bratislava Challenger Gran Canaria 1 Challenger Gran Canaria 2 Challenger Marbella Challenger Belgrade Challenger Split 2 Challenger Rome 1 Challenger Zagreb Challenger Oeiras 3 Challenger Biella 7 Challenger Nottingham 1 Challenger Bratislava Challenger Nottingham 2 Challenger Forli Challenger Trieste Challenger Meerbusch Challenger M25 Sabadell Tulln Challenger Szczecin Challenger Braga Challenger Sibiu Challenger Barcelona Challenger M25 Torello Roanne Challenger Bratislava Challenger Pau Challenger Helsinki Challenger Quimper Challenger Bengalaru 1 Challenger Bengalaru 2 Challenger Concepcion 2 Challenger Santa Cruz de la Sierra 2 Challenger Lugano Challenger Pereira Challenger Morelos Challenger Mauthausen Challenger Troisdorf Challenger Poznan Challenger Oeiras 3 Challenger Malaga Challenger M25 Valldoreix Porto Challenger Zug Challenger Cordenons Challenger Meerbusch Challenger Banja Luka Challenger Como Challenger Rennes Challenger Sibiu Challenger Sarajevo Challenger Yokohama Challenger Matsuyama Challenger Kobe Challenger Maspalomas Challenger Noumea Challenger Tenerife 1 Challenger Santiago Challenger Tenerife 2 Challenger Monterrey Challenger Antalya Challenger Cagliari Challenger San Benedetto Challenger Panama City Challenger Meerbusch Challenger Bordeaux Challenger Tunis Challenger Heilbronn Challenger Portoroz Challenger Poznan Challenger Bratislava 1 Challenger Trnava Challenger Bratislava Challenger Porto Challenger Banja Luka Challenger Santo Domingo Challenger Bergamo Challenger M25 Les Franqueses del Valles Istanbul Challenger San Benedetto Challenger Irving Challenger Vancouver Challenger Budapest Challenger Brasov Challenger Seville Challenger Furth Challenger Meerbusch Challenger Manerbio Challenger Como Challenger Helsinki Challenger Seville Challenger Danderyd Challenger Rome Challenger Ottignies-Louvain-la-Neuve Challenger Prostejov Challenger Turin Challenger Karshi Challenger Prostejov Challenger Morelos Challenger Kenitra Challenger Barletta Challenger Casablanca Challenger Brest Challenger Split Challenger Quanzhou Challenger Granby Challenger Poznan Challenger Irving Challenger Tunis Challenger Lexington Challenger San Luis Potosi Challenger Liberec Challenger Zagreb Challenger Blois Challenger Mersin Challenger Cordenons Challenger Ilkley Challenger Brasov Challenger Shanghai Challenger Columbus Challenger Banja Luka Challenger Salzburg Challenger Pozoblanco Challenger Tenerife 2 Challenger Oeiras 2 Challenger Vilnius Challenger Madrid Challenger Tyler Challenger Poznan Challenger Troyes Challenger Iasi Challenger Augsburg Challenger Open SEAT 2008 - Barcelona Bratislava 2 Challenger Shenzhen 2 Challenger Canberra Challenger Manama Challenger PBZ Zagreb Indoors - Zagreb Open Sabadell Atlantico - Barcelona Studena Croatia Open - Umag VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Mercedes Cup - Stuttgart Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Barcelona Open BancSabadell - Barcelona BB&T Atlanta Open - Atlanta Winston-Salem Open - Winston-Salem Kremlin Cup - Moscow PBZ Zagreb Indoors - Zagreb Grand Prix Hassan II - Casablanca TEB BNP Paribas Istanbul Open - Istanbul Geneva Open - Geneva Qatar ExxonMobil Open - Doha Apia International - Sydney Garanti Koza Sofia Open - Sofia Memphis Open - Memphis Montemar Challenger BH Indoor Sarajevo - Sarajevo Guadalajara Challenger Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Cap Cana Challenger BRD Nastase Tiriac Trophy - Bucharest Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul Moscow Challenger Open de Nice Cote d'Azur - Nice Aegon Nottingham Open - Nottingham Bet-at-home Open - Hamburg Generali Open - Kitzbuhel Moselle Open - Metz Kremlin Cup - Moscow Erste Bank Open - Vienna Aircel Chennai Open - Chennai ASB Classic - Auckland Garanti Koza Sofia Open - Sofia Memphis Open - Memphis Delray Beach Open - Delray Beach Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai US Men's Clay Court Championship - Houston Barcelona Open BancSabadell - Barcelona Hungarian Open - Budapest TEB BNP Paribas Istanbul Open - Istanbul AEGON International - Eastbourne Bet-at-home Open - Hamburg Abierto Mexicano - Los Cabos Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Kremlin Cup - Moscow Erste Bank Open - Vienna Sydney International - Sydney ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Gazprom Hungarian Open - Budapest TEB BNP Paribas Istanbul Open - Istanbul Open Parc - Lyon Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Abierto Mexicano - Los Cabos St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo Erste Bank Open - Vienna ABN AMRO World Tennis Tournament - Rotterdam Geneva Open - Geneva Open Parc - Lyon Turkish Airlines Open Antalya - Antalya Nature Valley International - Eastbourne SkiStar Swedish Open - Bastad Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Zhuhai Open - Zhuhai China Open - Beijing Kremlin Cup - Moscow Erste Bank Open - Vienna Open Sud de France - Montpellier Delray Beach Open - Delray Beach Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco bett1HULKS Championships - Cologne Astana Open - Nur-Sultan Open Sud de France - Montpellier Abierto Mexicano Telcel - Acapulco Serbia Open - Belgrade Hamburg European Open - Hamburg Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Kremlin Cup - Moscow Anytech365 Andalucia Open - Marbella Open Sud de France - Montpellier Open 13 Provence - Marseille Marbella Challenger Bordeaux Challenger US Men's Clay Court Championship - Houston Grand Prix Hassan II - Marrakech BMW Open - Munich Koblenz Challenger Blois Challenger Braunschweig Challenger Hamburg Challenger Stockholm Open - Stockholm Firenze Open - Florence Qatar ExxonMobil Open - Doha Millennium Estoril Open - Estoril Banja Luka Open - Banja Luka Nordea Open - Bastad Belgrade Open - Belgrade Argentina Open - Buenos Aires Mallorca Championships - Mallorca Nordea Open - Bastad Lexington Challenger Santo Domingo Challenger Grodzisk Mazowiecki Challenger Rennes Challenger Orleans Challenger Pozoblanco Challenger Brest Challenger Girona Challenger Seville Challenger Rennes Challenger Granby Challenger Vancouver Challenger Oeiras 3 Challenger Granby Challenger Sarajevo Challenger Marrakech Challenger San Luis Potosi Challenger Pereira Challenger Blumenau Challenger Mallorca Challenger Sao Paulo Challenger Rogers Cup - Toronto Rogers Cup - Montreal Milan Challenger Rogers Cup - Montreal Arad Challenger BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Rogers Cup - Toronto San Benedetto Challenger BNP Paribas Open - Indian Wells Barranquilla Challenger Bercuit Challenger BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati BNP Paribas Masters - Paris Cordenons Challenger Karshi Challenger BNP Paribas Open - Indian Wells Banja Luka Challenger Nottingham Challenger Glasgow Challenger Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Marbella Challenger Internazionali BNL d'Italia - Rome Itajai Challenger Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Segovia Challenger Kazan Challenger Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Heilbronn Challenger Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Mallorca Challenger Genova Challenger Shanghai Rolex Masters - Shanghai Santos Challenger BNP Paribas Masters - Paris Kolkata Challenger Phoenix Challenger Girona Challenger Helsinki Challenger BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Buenos Aires Challenger Roanne Challenger Bratislava 2 Challenger Coupe Rogers - Montreal Mestre Challenger Heilbronn Challenger Zadar Challenger Alphen Challenger Quimper Challenger Cherbourg Challenger Shenzhen Challenger Heilbronn Challenger Segovia Challenger Winnipeg Challenger Segovia Challenger Shanghai Rolex Masters - Shanghai Bangkok Challenger BNP Paribas Masters - Paris Genova Challenger Almaty Challenger Internazionali BNL d'Italia - Rome Pullach Challenger Western & Southern Open - New York Tiburon Challenger Fairfield Challenger Zhuhai Challenger BNP Paribas Open - Indian Wells Launceston Challenger Rome Challenger Miami Open - Miami Vicenza Challenger Almaty Challenger Gatineau Challenger Rogers Cup - Toronto Lyon Challenger Granby Challenger Shenzhen Challenger Prague Challenger Lisbon Challenger Biella 2 Challenger Rome 2 Challenger Porto Challenger Salzburg-Anif Challenger Braunschweig Challenger Aguascalientes Challenger Lyon Challenger Alicante Challenger St. Tropez Challenger Tenerife 3 Challenger Ostrava Challenger National Bank Open - Montreal Tulln Challenger Szczecin Challenger Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Szekesfehervar Challenger Calgary Challenger Drummondville Challenger Las Franquesas del Valles Challenger Zadar Challenger Mutua Madrid Open - Madrid Girona Challenger Barletta Challenger Bergamo Challenger Cincinnati Open - Cincinnati Shanghai Rolex Masters - Shanghai Prague 2 Challenger Skopje Challenger Maia 1 Challenger Rosario Challenger Bendigo Challenger Tallahassee Challenger Aircel Chennai Open - Chennai Forli 5 Challenger Lille Challenger Maspalomas Challenger Serbia Open - Belgrade Open Parc - Lyon Qatar ExxonMobil Open - Doha Bucharest Open - Bucharest Japan Open Tennis Championships - Tokyo Palmas del Mar Challenger Astana Open - Astana Erste Bank Open - Vienna Hangzhou Open - Hangzhou Japan Open Tennis Championships - Tokyo Brisbane International - Brisbane Citi Open - Washington Stockholm Open - Stockholm Vegeta Croatia Open - Umag Winston-Salem Open - Winston-Salem Adelaide International - Adelaide Barcelona Open BancSabadell - Barcelona Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem Open Parc - Lyon China Open - Beijing Brisbane International - Brisbane Open Sud de France - Montpellier BRD Nastase Tiriac Trophy - Bucharest AEGON Championships - London German Tennis Championships - Hamburg Kremlin Cup - Moscow Qatar ExxonMobil Open - Doha New York Open - New York Bet-at-home Open - Hamburg St. Petersburg Open - St. Petersburg ABN AMRO World Tennis Tournament - Rotterdam Plava Laguna Croatia Open - Umag Konzum Croatia Open - Umag Dubai Duty Free Tennis Championships - Dubai Rio Open - Rio de Janeiro Movistar Chile Open - Santiago Barcelona Open Banc Sabadell - Barcelona Hamburg Open - Hamburg Boss Open - Stuttgart If Stockholm Open - Stockholm ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Abierto Mexicano de Tenis Mifel - Los Cabos Miami Open - Miami Qatar ExxonMobil Open - Doha Open 13 Provence - Marseille National Bank Open - Toronto Mallorca Championships - Mallorca Internazionali BNL d'Italia - Rome Dubai Duty Free Tennis Championships - Dubai Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Wimbledon - London U.S. Open - New York U.S. Open - New York Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Wimbledon - London French Open - Paris Wimbledon - London Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne French Open - Paris French Open - Paris Ismaning Challenger Valencia Challenger U.S. Open - New York Australian Open - Melbourne French Open - Paris Nottingham 2 Challenger Davis Cup, Group 1, 1R, COL-CAN 4-1 Davis Cup, Group II, 2R, BIH-MDA 1-3 Davis Cup, Group II, 2R, FIN-BIH 2-3 Davis Cup, Group II, 3R, BIH-LTU 2-3 Davis Cup, Group II, 1R, ZIM-BIH 1-4 Davis Cup, Group I, 1R, BIH-POL 5-0 Davis Cup, Group I, 2R, BIH-NED 1-3 Davis Cup, Group I, 2R, SVK-BIH 2-3 Davis Cup, World Group, QR, AUS-BIH 4-0 Davis Cup, Group I, 1R, PER-BIH 3-2 Davis Cup, Finals, Group B Davis Cup, Group I, PO, TUN-BIH 1-3 Davis Cup, Group I, 1R, BIH-MEX 3-1 Davis Cup, World Group, PO, SWE-BIH 3-1 Davis Cup, Group I, 1R, ECU-BIH 3-2 Davis Cup, Group I, PO, BUL-BIH 1-3 French Open (juniors) U.S. Open (juniors) Davis Cup, Europe/Africa Group II, 2R, EST-BIH 2-3 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group II, 3R, DEN-BIH 3-2 Davis Cup, Group II, 2R, BLR-BIH 4-1 All Lower level tournaments Amersfoort Challenger Wimbledon - London Davis Cup, Group II, 1R, BIH-LUX 4-1 Davis Cup, Group II, 1R, BIH-GRE 3-1 Davis Cup, Group II, 2R, BIH-TUR 3-1 Davis Cup, Group II, 3R, LTU-BIH 0-5 Davis Cup, World Group I, PO, BIH-RSA 3-1 Davis Cup, Qualifiers, 1R, NED-CAN 4-0 Davis Cup, World Group I, 1R, TPE-BIH 3-2 Davis Cup, Group I, PO, UZB-BIH 1-3 Olympics - Rio de Janeiro Shenzhen 1 Challenger Wimbledon (juniors)